package com.tongshu.middleware.db.router.dynamic;

import com.tongshu.middleware.db.router.DBContextHolder;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;

/**
 * @description: 动态数据源获取
 * determineCurrentLookupKey()方法，这是AbstractRoutingDataSource类中的一个抽象方法，
 * 而它的返回值是你所要用的数据源dataSource的key值，有了这个key值，
 * resolvedDataSource（这是个map,由配置文件中设置好后存入的）就从中取出对应的DataSource，
 * 如果找不到，就用配置默认的数据源。
 * @author：桐树
 * @date: 2022/1/5
 */
public class DynamicDataSource extends AbstractRoutingDataSource {
    @Override
    protected Object determineCurrentLookupKey() {
        return "db" + DBContextHolder.getDBKey();
    }
}
